package com.iwhalecloud.citybrain.flow.platform.manager.application.service;

import com.iwhalecloud.citybrain.flow.platform.manager.common.ResponseResult;
import com.iwhalecloud.citybrain.flow.platform.manager.domain.model.monitor.FlowTaskTraceVo;
import com.iwhalecloud.citybrain.flow.platform.manager.domain.model.monitor.ProcessInstanceActionVo;

/**
 * @author lilh
 * @date 2019-07-25 14:21
 */
public interface ProcessInstanceMonitorService {

    /**
     * 实例操作
     *
     * @param processInstanceActionVo 操作信息
     * @return 操作结果
     */
    ResponseResult doAction(ProcessInstanceActionVo processInstanceActionVo);


    /**
     * 不校验用户信息，处理流程实例
     * @param processInstanceActionVo
     * @return
     */
    boolean doActionWithoutUserCheck(ProcessInstanceActionVo processInstanceActionVo);

    /**
     * 任务实例操作
     * @param flowTaskTraceVo
     * @param actionVo
     * @return
     */
    boolean doActionForTask(FlowTaskTraceVo flowTaskTraceVo, ProcessInstanceActionVo actionVo);

}
